# 5.4 使用if语句处理列表
# 结合使用if语句和列表，可完成一些有趣的任务：
# 对列表中特定的值做特殊处理ff
from zoneinfo import available_timezones

# 5.4.1 检查特殊元素
# 本章开头通过一个简单的示例演示了如何处理特殊值‘bmw’——需要采用不同的格式打印它
requested_toppings1 = ['mushrooms', 'green peppers', 'extra cheese']

for requested_topping in requested_toppings1:
    print(f"Adding {requested_topping}.")

print("\nFinished making your pizza!\n")

# 然而，如果比萨店的青椒（green peppers）用完了，该如何处理呢？为了妥善的处理这种情况，可以
# 在for循环中添加一条if语句

for requested_topping in requested_toppings1:
    if requested_topping == 'green peppers':
        print("Sorry, we are out of green peppers right now.")
    else:
        print(f"Adding {requested_topping}")
print("\nFinished making your pizza!")

# 这里在为比萨添加每种配料前都进行检查。用if语句进行检查。if语句检查顾客点的是否是青椒
# 如果是，就显示一条消息，指出不能点青椒的原因。
# else代码块确保其他配料都将被添加到比萨中

# 5.4.2 确定列表非空
# 到目前为止，我们对于要处理的每个列表都做了一个简单的假设——他们至少都包含一个元素。
# 因为马上就要让用户来提供存储再列表中的信息，所以不能再假设循环运行时的列表非空。
# 有鉴于此，在运行for循环前，要确定列表非空

requested_toppings = []
if requested_toppings:
    for requested_topping in requested_toppings:
        print(f"Adding {requested_topping}.")
    print("\nFinished making your pizza!")
else:
    print("Are you sure you want a plain pizza?")

# 首先创建一个列表，其中不包含任何配料。然后进行检查，而不是直接执行for循环。
# 在if语句中将列表名用作条件表达式时，Python进行判断

# 5.4.3 使用多个列表

# 顾客的要求五花八门，在比萨的配料方面尤其如此，如果客户要在比萨中添加炸薯条，那怎么办呢？
# 可以使用if 语句来确定是否能满足顾客的需求
print("\n\n")
available_toppings = ['mushrooms', 'olives', 'green peppers', 'pepperoni',
                      'pineapple', 'extra cheese']

requested_toppings = ['mushrooms', 'french fries', 'extra cheese']
# 这个数组是用户创建的数组，其中包含了用户输入的信息

# 判断用户输入的信息是否都在 available_toppings 中
for requested_topping in requested_toppings:
    if requested_topping in available_toppings:
        print(f"Adding {requested_topping}.")
    else:
        print(f"Sorry, we don't have {requested_topping}")

print("\nFinished making your pizza!")

# 练习：动手试一试

# 练习5.8
lists = ['liao', 'nie','qiu', 'admin', 'li']

for list in lists:
    if list == 'admin':
        print("Hello admin, would you like to see a status report?")
    else:
        print(f"Hello {list}, thank you for logging in again!")

# 练习 5.9

print("\n\n\n")

names = []
if names:
    for name in names:
        print(f"{name} ,hello!")
        if name == 'niu':
            print(f"{name},你是真的牛！")
else:
    print("这是空列表！")


# 练习5.10

current_users = ['niu', 'ma', 'gou', 'zhu', 'mao']
new_users = ['niu', 'Ma', 'ji', 'she', 'zhU']

for new_user in new_users:
    if new_user.lower() in current_users:
        print("这个名字已经被使用过！")
    else:
        print("您可以使用这个名字！")

# 练习5.11 序数

numbers = ['1', '2', '3', '4', '5', '6']

for number in numbers:
    if number == '1':
        print(f"{number}st")
    elif number == '2':
        print(f"{number}nd")
    elif number == '3':
        print(f"{number}rd")
    else:
        print(f"{number}th")

###------5.5 设置if格式
# 在条件测试的格式设置上，要给 运算符  两边都加上空格
# 比如：
age = 18
if age < 4:
    print("幼儿")




































































































































